/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.ufrn.cerescaico.sepe.actions;

import br.ufrn.cerescaico.sepe.beans.Atividade;
import br.ufrn.cerescaico.sepe.bo.SepeException;
import br.ufrn.cerescaico.sepe.dao.util.PagerBean;
import java.util.List;
import org.apache.log4j.Logger;

/**
 * Action de atividade do sistema SEPE.
 * @author Taciano de Morais Silva - tacianosilva@gmail.com
 * @version 27/08/2010, 19:04, Taciano de Morais Silva - tacianosilva@gmail.com
 * @since 27/08/2010, 09h22m
 */
public class AtividadeAction extends SepeAction {

    /**
     * Logger da classe.
     */
    private Logger logger = Logger.getLogger(AtividadeAction.class);
    /**
     * Atividade.
     */
    private Atividade atividade;
    /**
     * Lista de atividades.
     */
    private List<Atividade> atividades;

    /**
     * Carrega a lista de atividades do sistema.
     * @return O result que aponta para a página destino.
     * @see com.opensymphony.xwork2.ActionSupport#execute()
     */
    @Override
    public String execute() throws Exception {
        try {
            logger.info("execute()");
            PagerBean pager = createPagerBean();
            setAtividades(getSepe().listarAtividades(pager));
            setTotalRegistros(pager.getTotalResults());
        } catch (SepeException ex) {
            logger.error(ex.getMessage(), ex);
            addActionError(getText(ex.getMessage()));
        }
        return SUCCESS;
    }

    public List<Atividade> getAtividades() {
        return atividades;
    }

    public void setAtividades(List<Atividade> atividades) {
        this.atividades = atividades;
    }

    /**
     * @return
     */
    public Integer getIdAtividade() {
        if (atividade != null) {
            return atividade.getId();
        }
        return null;
    }

    /**
     * @param id
     */
    public void setIdAtividade(Integer id) {
        if (atividade == null) {
            atividade = new Atividade();
        }
        atividade.setId(id);
    }
}
